using System.Collections.Generic;
using System.ComponentModel;
using System.IO;

namespace System.Runtime.InteropServices.PlatformInvoke
{
    public class ImageInformation
    {
        #region Properties
        #endregion
        [CategoryAttribute("Image Information")]
        [Description("Returns the Native Image File")]
        public FileInfo Image { get; set; }

        [CategoryAttribute("Member Information")]
        [Description("Returns the list of members inside the image")]
        public List<string> Methods { get; set; }

        #region Construction
        #endregion
        public ImageInformation()
        {
        }
        public ImageInformation(FileInfo image)
        {
            this.Image = image;
            this.Methods = new List<string>(NativeImage.OpenImage(image.Name, image.DirectoryName));
        }
        public ImageInformation(string fileName)
        {
            this.Image = new FileInfo(fileName);
            this.Methods = new List<string>(NativeImage.OpenImage(this.Image.Name, this.Image.DirectoryName));
        }
    }
}